// token处理的工具函数
const jwt = require('jsonwebtoken')
const SECRET_KEY = 'key'
// 1.生成token
const generateToken = (data, expiresIn = '7d') => {
    return jwt.sign({data}, SECRET_KEY, {expiresIn})
}
exports.generateToken = generateToken

// 2.验证token
const verifyToken = (token) => {
    return new Promise((resolve, reject) => {
        jwt.verify(token, SECRET_KEY, (error, decoded) => {
            if (error) {
                reject(new Error('token非法或过期'))
            } else {
                resolve(decoded.data)
            }
        })
    })
}
exports.verifyToken = verifyToken

// // 测试
// const token = generateToken(123,3)
// console.log(token)
// setTimeout(() => {
//     verifyToken(token)
//     .then(
//         value => {
//             console.log(value)
//         },
//         error => {
//             console.log(error.message)
//         }
//     )
// } ,4000)